import request from '@/utils/request'

// 薪资管理API

/**
 * 获取薪资信息列表
 * @param {Object} params 查询参数
 */
export function getSalaryInfoList(params = {}) {
  return request({
    url: '/salary',
    method: 'get',
    params
  })
}

/**
 * 根据ID获取薪资信息
 * @param {number} id 薪资信息ID
 */
export function getSalaryInfoById(id) {
  return request({
    url: `/salary/${id}`,
    method: 'get'
  })
}

/**
 * 创建薪资信息
 * @param {Object} data 薪资数据
 */
export function createSalaryInfo(data) {
  return request({
    url: '/salary',
    method: 'post',
    data
  })
}

/**
 * 更新薪资信息
 * @param {number} id 薪资信息ID
 * @param {Object} data 薪资数据
 */
export function updateSalaryInfo(id, data) {
  return request({
    url: `/salary/${id}`,
    method: 'put',
    data
  })
}

/**
 * 删除薪资信息
 * @param {number} id 薪资信息ID
 */
export function deleteSalaryInfo(id) {
  return request({
    url: `/salary/${id}`,
    method: 'delete'
  })
}

/**
 * 计算员工工资
 * @param {Object} params 计算参数
 */
export function calculateSalary(params) {
  return request({
    url: '/salary/calculate',
    method: 'post',
    params
  })
}

/**
 * 计算员工某时间段的总工资
 * @param {number} employeeId 员工ID
 * @param {string} startDate 开始日期
 * @param {string} endDate 结束日期
 */
export function calculateTotalSalary(employeeId, startDate, endDate) {
  return request({
    url: `/salary/total/${employeeId}`,
    method: 'get',
    params: { startDate, endDate }
  })
}

/**
 * 计算房间某时间段的总工资成本
 * @param {number} roomId 房间ID
 * @param {string} startDate 开始日期
 * @param {string} endDate 结束日期
 */
export function calculateRoomSalaryCost(roomId, startDate, endDate) {
  return request({
    url: `/salary/room-cost/${roomId}`,
    method: 'get',
    params: { startDate, endDate }
  })
}

/**
 * 获取工资对比数据
 * @param {Object} params 对比参数
 */
export function getSalaryComparison(params) {
  return request({
    url: '/salary/comparison',
    method: 'get',
    params
  })
}